#include<bits/stdc++.h>
using namespace std;
int a,b,r,q,w,e;
double d,h;
int main()
{
cin>>a>>b>>r;
cin>>q>>w>>e;
d=sqrt((q-a)*(q-a)+(w-b)*(w-b));
if(d>e+r)h=d-r-e;
else if(d<abs(r-e))h=abs(r-e)-d;
cout<<fixed<<setprecision(15)<<h/2<<"\n";
}
810A - Straight A | 1433C - Dominant Piranha |
633A - Ebony and Ivory | 1196A - Three Piles of Candies |
299A - Ksusha and Array | 448B - Suffix Structures |
1092B - Teams Forming | 1166C - A Tale of Two Lands |
544B - Sea and Islands | 152B - Steps |
1174D - Ehab and the Expected XOR Problem | 1511A - Review Site |
1316A - Grade Allocation | 838A - Binary Blocks |
1515D - Phoenix and Socks | 1624D - Palindromes Coloring |
1552F - Telepanting | 1692G - 2Sort |
1191A - Tokitsukaze and Enhancement | 903A - Hungry Student Problem |
52B - Right Triangles | 1712A - Wonderful Permutation |
1712D - Empty Graph | 1712B - Woeful Permutation |
1712C - Sort Zero | 1028B - Unnatural Conditions |
735B - Urbanization | 746C - Tram |
1278B - A and B | 1353D - Constructing the Array |